// ============================== 导入依赖 ============================== //

// ============================== 导出异步调用 ============================== //

export default {
  // —————————————————————————————— 下拉框 —————————————————————————————— //

  async remoteSelect({ state: { API, MAP, selectParam }, rootState }) {
    const { param: { tab }, DICT: { TAB } } = rootState
    if (tab !== TAB[1][0]) return []

    const TIP = API.transTip(MAP.tipSelect, rootState.ROOT_API)
    const [, arr] = await API.getList(selectParam, TIP)
    return transSelect(arr)
  },

  // —————————————————————————————— 信息 —————————————————————————————— //

  async remoteInfo({ state: { API, MAP, infoParam }, rootState }) {
    if (!infoParam.id) return {}

    const TIP = API.transTip(MAP.tipInfo, rootState.API)
    const obj = await API.getOne(infoParam, TIP)
    return transInfo(obj)
  },

  // —————————————————————————————— 列表 —————————————————————————————— //

  async remoteList({ state: { API, MAP, infoParam, param }, rootState }) {
    if (!infoParam.id) return [0, []]

    const TIP = API.transTip(MAP.tipSelect, rootState.API)
    const [num, arr] = await API.getRecord({ ...param, ...infoParam }, TIP)
    return [num, transList(arr)]
  },
}

// ============================== 转换方法 ============================== //

const transSelect = (arr) => {
  return arr
}

const transInfo = (obj) => {
  return obj
}

const transList = (arr) => {
  return arr
}
